package com.imooc.juc;

import com.imooc.juc.bean.Phone;

/**
 * @Date:2021/11/5/23:01
 * @Description:经典 LOCK8 判断题
 *
 * 1 标准访问，先打印邮件，还是短信？-------------邮件
 * 2 新增暂停 4 秒钟，先打印邮件还是短信？--------邮件
 * 3 getHello() 方法，请先打印邮件还是hello？---- hello
 * 4 2 部手机。请先打印邮件还是短信？-------------短信
 * 5 2个静态同步方法，1部手机，请先打印邮件还是短信？-------邮件
 * 6 2个静态同步方法，2部手机，请先打印邮件还是短信？-------邮件
 * 7 1个静态同步方法，1个普通同步方法，1部手机，请先打印邮件还是短信？-------短信 （2把不同的锁互不相干）
 * 8 1个静态同步方法，1个普通同步方法，2部手机，请先打印邮件还是短信？-------短信 （2把不同的锁互不相干）
 *
 *  ps ：主要判断上锁的是当前类 Class ，还是 对象-this。
 *  对于静态同步方法，锁是当前类的 Class对象
 *  对于普通同步方法，锁是当前对象 this
 *
 */


public class Lock8 {
    public static void main(String[] args) {

        Phone phone = new Phone();
//        Phone phone2 = new Phone();

        new Thread( ()->{
            try {
                    phone.sendEmail();
            } catch (Exception e) {
                e.printStackTrace();
            }
        },"A" ).start();


        new Thread( ()->{
            try {
                phone.getHello();
            } catch (Exception e) {
                e.printStackTrace();
            }

        },"C" ).start();



        new Thread( ()->{
            try {
                phone.sendSMS();
            } catch (Exception e) {
                e.printStackTrace();
            }
        },"B" ).start();

    }
}
